Add GDK_ISO_Next_Group/Prev_Group/Level3_Shift/ First_Group/Last_Group to
authorOwen Taylor <otaylor@redhat.com>
Thu, 21 Feb 2002 22:03:09 +0000 (22:03 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Thu, 21 Feb 2002 22:03:09 +0000 (22:03 +0000)
Thu Feb 21 16:51:17 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
        GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
        First_Group/Last_Group to list of invalid accelerators.
        (A lot more that should be added, but probably would
        want a range mechanism. These are the ones found in
        the standard XFree86 config files.)

        * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
        that broke bindings for menus.

        * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
        privately.

        * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
        _gtk_window_activate_key(), gtk_bindings_activate_event().

12 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkaccelgroup.c
gtk/gtkbindings.c
gtk/gtkmenushell.c
gtk/gtkwindow.c
gtk/gtkwindow.h

index edeab2696911fd7e95936d7011fb0bca9f5b6f7d..f017d24055e78440b3d75239cfeccf314b5d77a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+Thu Feb 21 16:51:17 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
+       GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
+       First_Group/Last_Group to list of invalid accelerators.
+       (A lot more that should be added, but probably would
+       want a range mechanism. These are the ones found in
+       the standard XFree86 config files.)
+
+       * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
+       that broke bindings for menus.
+
+       * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
+       privately.
+
+       * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
+       _gtk_window_activate_key(), gtk_bindings_activate_event().
+
 Thu Feb 21 12:24:22 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
index edeab2696911fd7e95936d7011fb0bca9f5b6f7d..f017d24055e78440b3d75239cfeccf314b5d77a5 100644 (file)
@@ -1,3 +1,21 @@
+Thu Feb 21 16:51:17 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
+       GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
+       First_Group/Last_Group to list of invalid accelerators.
+       (A lot more that should be added, but probably would
+       want a range mechanism. These are the ones found in
+       the standard XFree86 config files.)
+
+       * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
+       that broke bindings for menus.
+
+       * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
+       privately.
+
+       * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
+       _gtk_window_activate_key(), gtk_bindings_activate_event().
+
 Thu Feb 21 12:24:22 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
index edeab2696911fd7e95936d7011fb0bca9f5b6f7d..f017d24055e78440b3d75239cfeccf314b5d77a5 100644 (file)
@@ -1,3 +1,21 @@
+Thu Feb 21 16:51:17 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
+       GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
+       First_Group/Last_Group to list of invalid accelerators.
+       (A lot more that should be added, but probably would
+       want a range mechanism. These are the ones found in
+       the standard XFree86 config files.)
+
+       * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
+       that broke bindings for menus.
+
+       * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
+       privately.
+
+       * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
+       _gtk_window_activate_key(), gtk_bindings_activate_event().
+
 Thu Feb 21 12:24:22 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
index edeab2696911fd7e95936d7011fb0bca9f5b6f7d..f017d24055e78440b3d75239cfeccf314b5d77a5 100644 (file)
@@ -1,3 +1,21 @@
+Thu Feb 21 16:51:17 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
+       GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
+       First_Group/Last_Group to list of invalid accelerators.
+       (A lot more that should be added, but probably would
+       want a range mechanism. These are the ones found in
+       the standard XFree86 config files.)
+
+       * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
+       that broke bindings for menus.
+
+       * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
+       privately.
+
+       * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
+       _gtk_window_activate_key(), gtk_bindings_activate_event().
+
 Thu Feb 21 12:24:22 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
index edeab2696911fd7e95936d7011fb0bca9f5b6f7d..f017d24055e78440b3d75239cfeccf314b5d77a5 100644 (file)
@@ -1,3 +1,21 @@
+Thu Feb 21 16:51:17 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
+       GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
+       First_Group/Last_Group to list of invalid accelerators.
+       (A lot more that should be added, but probably would
+       want a range mechanism. These are the ones found in
+       the standard XFree86 config files.)
+
+       * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
+       that broke bindings for menus.
+
+       * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
+       privately.
+
+       * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
+       _gtk_window_activate_key(), gtk_bindings_activate_event().
+
 Thu Feb 21 12:24:22 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
index edeab2696911fd7e95936d7011fb0bca9f5b6f7d..f017d24055e78440b3d75239cfeccf314b5d77a5 100644 (file)
@@ -1,3 +1,21 @@
+Thu Feb 21 16:51:17 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
+       GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
+       First_Group/Last_Group to list of invalid accelerators.
+       (A lot more that should be added, but probably would
+       want a range mechanism. These are the ones found in
+       the standard XFree86 config files.)
+
+       * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
+       that broke bindings for menus.
+
+       * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
+       privately.
+
+       * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
+       _gtk_window_activate_key(), gtk_bindings_activate_event().
+
 Thu Feb 21 12:24:22 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
index edeab2696911fd7e95936d7011fb0bca9f5b6f7d..f017d24055e78440b3d75239cfeccf314b5d77a5 100644 (file)
@@ -1,3 +1,21 @@
+Thu Feb 21 16:51:17 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
+       GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
+       First_Group/Last_Group to list of invalid accelerators.
+       (A lot more that should be added, but probably would
+       want a range mechanism. These are the ones found in
+       the standard XFree86 config files.)
+
+       * gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
+       that broke bindings for menus.
+
+       * gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
+       privately.
+
+       * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
+       _gtk_window_activate_key(), gtk_bindings_activate_event().
+
 Thu Feb 21 12:24:22 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkctree.c (gtk_ctree_class_init): Remove some workarounds
index 3f15a9e6e0e0814afde5b88a2d52dc8f42c9620c..1ceb537e3d20d3221023246bcda7d7e3098ea966 100644 (file)
@@ -805,6 +805,8 @@ gtk_accelerator_valid (guint                  keyval,
     GDK_Shift_L, GDK_Shift_R, GDK_Shift_Lock, GDK_Caps_Lock, GDK_ISO_Lock,
     GDK_Control_L, GDK_Control_R, GDK_Meta_L, GDK_Meta_R,
     GDK_Alt_L, GDK_Alt_R, GDK_Super_L, GDK_Super_R, GDK_Hyper_L, GDK_Hyper_R,
+    GDK_ISO_Level3_Shift, GDK_ISO_Next_Group, GDK_ISO_Prev_Group,
+    GDK_ISO_First_Group, GDK_ISO_Last_Group,
     GDK_Mode_switch, GDK_Num_Lock, GDK_Multi_key,
     GDK_Scroll_Lock, GDK_Sys_Req, 
     GDK_Up, GDK_Down, GDK_Left, GDK_Right, GDK_Tab, GDK_ISO_Left_Tab,
index 95ae875d87a15735711c235235ba96e0bb14a82b..abf473c4653b6086d2e7c35b94f800646c1b5c04 100644 (file)
@@ -1075,7 +1075,7 @@ gtk_bindings_activate (GtkObject      *object,
   if (!GTK_IS_WIDGET (object))
     return FALSE;
 
-  is_release = (BINDING_MOD_MASK () & GDK_RELEASE_MASK) != 0;
+  is_release = (modifiers & GDK_RELEASE_MASK) != 0;
   modifiers = modifiers & BINDING_MOD_MASK () & ~GDK_RELEASE_MASK;
 
   key_hash = binding_key_hash_for_keymap (gdk_keymap_get_default ());
index 46355216add328619142e55aaaa5e1d78dfe3e4d..2d352700d2db9a2a92c99e45d39f497d7cc5cb65 100644 (file)
@@ -551,21 +551,14 @@ gtk_menu_shell_key_press (GtkWidget       *widget,
   if (!menu_shell->active_menu_item && menu_shell->parent_menu_shell)
     return gtk_widget_event (menu_shell->parent_menu_shell, (GdkEvent *)event);
   
-  if (gtk_bindings_activate (GTK_OBJECT (widget),
-                            event->keyval,
-                            event->state))
+  if (_gtk_bindings_activate_event (GTK_OBJECT (widget), event))
     return TRUE;
 
   toplevel = gtk_widget_get_toplevel (widget);
   if (GTK_IS_WINDOW (toplevel) &&
-      gtk_window_mnemonic_activate (GTK_WINDOW (toplevel),
-                                   event->keyval,
-                                   event->state))
+      _gtk_window_activate_key (GTK_WINDOW (toplevel), event))
     return TRUE;
   
-  if (gtk_accel_groups_activate (G_OBJECT (widget), event->keyval, event->state))
-    return TRUE;
-
   return FALSE;
 }
 
index a031e8bad34aa1d6900d95094d71bbdb3d4d0ffe..f2bca9df0f7598befb2b63856d7f6ad5df5782f6 100644 (file)
@@ -226,8 +226,6 @@ static void     gtk_window_realize_icon               (GtkWindow    *window);
 static void     gtk_window_unrealize_icon             (GtkWindow    *window);
 
 static void        gtk_window_notify_keys_changed (GtkWindow   *window);
-static gboolean    gtk_window_activate_key        (GtkWindow   *window,
-                                                  GdkEventKey *event);
 static GtkKeyHash *gtk_window_get_key_hash        (GtkWindow   *window);
 static void        gtk_window_free_key_hash       (GtkWindow   *window);
 
@@ -3534,7 +3532,7 @@ gtk_window_key_press_event (GtkWidget   *widget,
   /* Check for mnemonics and accelerators
    */
   if (!handled)
-    handled = gtk_window_activate_key (window, event);
+    handled = _gtk_window_activate_key (window, event);
 
   if (!handled)
     {
@@ -5812,9 +5810,18 @@ gtk_window_free_key_hash (GtkWindow *window)
     }
 }
 
-static gboolean
-gtk_window_activate_key (GtkWindow   *window,
-                        GdkEventKey *event)
+/**
+ * _gtk_window_activate_key:
+ * @window: a #GtkWindow
+ * @event: a #GdkEventKey
+ * 
+ * Activates mnemonics and accelerators for this #GtKWindow
+ * 
+ * Return value: %TRUE if a mnemonic or accelerator was found and activated.
+ **/
+gboolean
+_gtk_window_activate_key (GtkWindow   *window,
+                         GdkEventKey *event)
 {
   GtkKeyHash *key_hash = g_object_get_data (G_OBJECT (window), "gtk-window-key-hash");
   GtkWindowKeyEntry *found_entry = NULL;
index d6c97376dc14992321df77c4b989e660731d41e1..329fcdc4421accd592c1a310f8e4db355e503efc 100644 (file)
@@ -325,6 +325,8 @@ void            _gtk_window_constrain_size     (GtkWindow *window,
                                                gint      *new_width,
                                                gint      *new_height);
 GtkWindowGroup *_gtk_window_get_group          (GtkWindow *window);
+gboolean        _gtk_window_activate_key       (GtkWindow   *window,
+                                               GdkEventKey *event);
 
 /* --- internal (GtkAcceleratable) --- */
 gboolean       _gtk_window_query_nonaccels     (GtkWindow      *window,